  package com.bytezero.cim.service;

import com.bytezero.cim.bean.Customer;

/**
 * 
 * @Description   CustomerList为Customer对象的管理模块，内部
 * 用数组管理一组Customer对象，并提供相应的添加，修改，删除和
 * 遍历方法，供CustomerView调用
 * @author  Bytezero·zhenglei!      Email:420498246@qq.com
 * @version
 * @date 2021年9月16日下午6:37:42
 * @
 *
 */
public class CustomerList
{
	private Customer[] customers;  //用来保存客户对象数组
	private int total = 0;         //记录已保存客户对象的数量
	
	
	/**
	 * 用来初始化 customers数组的构造器  
	 * @param totalCustomer  指定 customer是数组最大的空间
	 */
	public CustomerList(int totalCustomer)
	{
		customers = new Customer[totalCustomer];
	}
	
	
	/**
	 * 
	 * @Description 将指定的客户添加到数组中
	 * @author  Bytezero·zhenglei!
	 * @date 2021年9月17日上午10:40:03
	 * @param customer
	 * @return  true:添加成功  false:添加失败
	 *
	 */
	public boolean addCustomer(Customer customer)
	{
		if(total >= customers.length)
		{
			return false;
		}
		
//		customers[total] = customer;
//		total++;
		//或
		customers[total++] = customer;
		
		return true;
		
		
		
		
		
	}
	/**
	 * 
	 * @Description  修改指定索引位置的客户信息
	 * @author  Bytezero·zhenglei!
	 * @date 2021年9月17日上午10:43:53
	 * @param index
	 * @param cust
	 * @return  true:修改成功     false：修改失败
	 *
	 */
	
	public boolean replaceCustomer(int index,Customer cust)
	{
		if(index < 0|| index >= total)
		{
			return false;
		}
		else
		{
			customers[index] = cust;
			return true;
		}
	}
	
	/**
	 * 
	 * @Description  删除指定索引位置上的客户
	 * @author  Bytezero·zhenglei!
	 * @date 2021年9月17日上午10:53:57
	 * @param index
	 * @return  true：删除成功   false：删除失败
	 *
	 */
	public boolean deleteCustomer(int index)
	{
		if(index < 0|| index >= total)
		{
			return false;
		}
		else
		{
			for(int i = index; i< total-1;i++)
			{
				customers[i] = customers[i+1];
			}
			
			//最后有数据的元素需要置空
			//customers[total -1 ] = null;
			//total--;
			//或
			customers[--total ] = null;
			return true;
		}
	}
	/**
	 * 
	 * @Description  获取所有客户的信息
	 * @author  Bytezero·zhenglei!
	 * @date 2021年9月17日上午11:02:11
	 * @return
	 *
	 */
	public Customer[] getAllCustomers()
	{
		Customer[] custs = new Customer[total];
		for(int i =0; i <total; i++)
		{
			custs[i] = customers[i];
		}
		return custs;
		
	}
	
	/**
	 * 
	 * @Description 获取指定索引位置上的客户
	 * @author  Bytezero·zhenglei!
	 * @date 2021年9月17日上午11:06:45
	 * @param index
	 * @return 如果找到了元素 则返回 ； 如果没有找到 返回null
	 *
	 */
	public Customer getCustomer(int index)
	{
		if(index < 0|| index >= total)
		{
			return null;
		}
		return customers[index];
	}
	
	/**
	 * 
	 * @Description  获取存储的客户的数量
	 * @author  Bytezero·zhenglei!
	 * @date 2021年9月17日上午11:08:31
	 * @return
	 *
	 */
	public int getTotal()
	{
		return total;
	}
	
	
}






















































































